home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / vbulletin_xss2.nasl < prev    next >
Text File  |  2005-03-31  |  2KB  |  79 lines

  1. #
  2. #  This script was written by David Maciejak <david dot maciejak at kyxar dot fr>
  3. #  based on work from
  4. #  (C) Tenable Network Security
  5. #
  6. #  Ref: Arab VieruZ <arabviersus@hotmail.com>
  7. #
  8. #  This script is released under the GNU GPL v2
  9.  
  10.  
  11. if(description)
  12. {
  13.  script_id(14833);
  14.  script_bugtraq_id(6226);
  15.  if ( defined_func("script_xref") ) script_xref(name:"OSVDB", value:"3280");
  16.   
  17.  script_version("$Revision: 1.3 $");
  18.  name["english"] = "vBulletin XSS(2)";
  19.  script_name(english:name["english"]);
  20.  
  21.  desc["english"] = "
  22. The remote host is running vBulletin, a web based bulletin board system 
  23. written in PHP.
  24.  
  25. The remote version of this software seems to be prior or equal to version 2.2.9.
  26. These versions are vulnerable to a cross-site scripting issue, 
  27. due to a failure of the application to properly sanitize user-supplied 
  28. URI input.
  29.  
  30. As a result of this vulnerability, it is possible for a remote attacker
  31. to create a malicious link containing script code that will be executed 
  32. in the browser of an unsuspecting user when followed. 
  33.  
  34. This may facilitate the theft of cookie-based authentication credentials 
  35. as well as other attacks.
  36.  
  37. Solution : Upgrade to latest version
  38. Risk factor : Medium";
  39.  
  40.  
  41.  script_description(english:desc["english"]);
  42.  
  43.  summary["english"] = "Checks memberlist.php XSS flaw in vBulletin";
  44.  
  45.  script_summary(english:summary["english"]);
  46.  
  47.  script_category(ACT_GATHER_INFO);
  48.  
  49.  script_copyright(english:"This script is Copyright (C) 2004 David Maciejak");
  50.  family["english"] = "CGI abuses : XSS";
  51.  script_family(english:family["english"]);
  52.  script_dependencie("cross_site_scripting.nasl", "vbulletin_detect.nasl");
  53.  script_require_ports("Services/www", 80);
  54.  exit(0);
  55. }
  56.  
  57. # Check starts here
  58.  
  59. include("http_func.inc");
  60. include("http_keepalive.inc");
  61.  
  62. port = get_http_port(default:80);
  63.  
  64. if(!get_port_state(port))exit(0);
  65. if ( ! can_host_php(port:port) ) exit(0);
  66. if ( get_kb_item("www/" + port + "/generic_xss") ) exit(0);
  67.   
  68. # Test an install.
  69. install = get_kb_item(string("www/", port, "/vBulletin"));
  70. if (isnull(install)) exit(0);
  71. matches = eregmatch(string:install, pattern:"^(.+) under (/.*)$");
  72. if (!isnull(matches)) {
  73.   dir = matches[2];
  74.   buf = http_get(item:dir + "/memberlist.php?s=23c37cf1af5d2ad05f49361b0407ad9e&what=<script>foo</script>", port:port);
  75.   r = http_keepalive_send_recv(port:port, data:buf, bodyonly:1);
  76.   if( r == NULL )exit(0);
  77.   if(egrep(pattern:"<script>foo</script>", string:r)) security_warning(port);
  78. }
  79.